package org.jeecg.modules.lab.entrust.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 实验项目表
 * @Author: jeecg-boot
 * @Date:   2023-08-10
 * @Version: V1.0
 */
@Data
@TableName("lab_entrust_items")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="lab_entrust_items对象", description="实验项目表")
public class LabEntrustItems implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**项目id*/
	@Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
    private String itemId;
	/**实验项目名称*/
	@Excel(name = "实验项目名称", width = 15)
    @ApiModelProperty(value = "实验项目名称")
    private String itemName;
    /**依据的标准名称*/
    @Excel(name = "依据的标准名称id", width = 15)
    @ApiModelProperty(value = "依据的标准名称id")
    private String basisId;
	/**依据的标准名称*/
	@Excel(name = "依据的标准名称", width = 15)
    @ApiModelProperty(value = "依据的标准名称")
    private String basisName;
	/**依据的标准编号*/
	@Excel(name = "依据的标准编号", width = 15)
    @ApiModelProperty(value = "依据的标准编号")
    private String basisNum;
	/**限制范围*/
	@Excel(name = "限制范围", width = 15)
    @ApiModelProperty(value = "限制范围")
    private String basisScope;
	/**依据附件*/
	@Excel(name = "依据附件", width = 15)
    @ApiModelProperty(value = "依据附件")
    private String basisAtta;
	/**大类ld*/
	@Excel(name = "大类ld", width = 15)
    @ApiModelProperty(value = "大类ld")
    private String bigTypeId;
	/**大类名称*/
	@Excel(name = "大类名称", width = 15)
    @ApiModelProperty(value = "大类名称")
    private String bigTypeName;
	/**类别Id*/
	@Excel(name = "类别Id", width = 15)
    @ApiModelProperty(value = "类别Id")
    private String midTypeId;
	/**类别名称*/
	@Excel(name = "类别名称", width = 15)
    @ApiModelProperty(value = "类别名称")
    private String midTypeName;
    /**样品id*/
    @Excel(name = "样品id", width = 15)
    @ApiModelProperty(value = "样品id")
    private String samId;
    /**样品名称*/
    @Excel(name = "样品名称", width = 15)
    @ApiModelProperty(value = "样品名称")
    private String samName;
    /**样品编号*/
    @Excel(name = "样品编号", width = 15)
    @ApiModelProperty(value = "样品编号")
    private String samNum;
	/**班组*/
	@Excel(name = "班组", width = 15)
    @ApiModelProperty(value = "班组")
    private String team;
	/**委托单id*/
	@Excel(name = "委托单id", width = 15)
    @ApiModelProperty(value = "委托单id")
    @Dict(dictTable="lab_wscientific",dicCode = "id",dicText="ky_name")
    private String entrustId;
	/**实验人员*/
	@Excel(name = "实验人员", width = 15)
    @ApiModelProperty(value = "实验人员")
    private String userName;
	/**实验人员id*/
	@Excel(name = "实验人员id", width = 15)
    @ApiModelProperty(value = "实验人员id")
    private String userId;
	/**项目状态*/
	@Excel(name = "项目状态", width = 15)
    @ApiModelProperty(value = "项目状态")
    private String itemStatus;
    /**开始时间*/
    private Date itemStartTime;
	/**完成时间*/
	@Excel(name = "完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "完成时间")
    private Date itemFinishTime;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;

    /**复核人Id*/
    @Excel(name = "复核人Id", width = 15)
    @ApiModelProperty(value = "复核人Id")
    private String auditId;

    /**复核人*/
    @Excel(name = "复核人", width = 15)
    @ApiModelProperty(value = "复核人")
    private String auditName;

    /**发布时间*/
    @Excel(name = "发布时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发布时间")
    private Date pubDate;

    /**截至时间*/
    @Excel(name = "截至时间", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "截至时间")
    private Date finDate;


    /**标准规定指标*/
    @Excel(name = "标准规定指标", width = 15)
    @ApiModelProperty(value = "标准规定指标")
    private String basisNorm;

    /**检测结果*/
    @Excel(name = "检测结果", width = 15)
    @ApiModelProperty(value = "检测结果")
    private String itemResult;

    /**单项判定*/
    @Excel(name = "单项判定", width = 15)
    @ApiModelProperty(value = "单项判定")
    private String itemDecide;

    /** 实验项目照片*/
    private String itemImageList;

    /**实验类型*/
    @ApiModelProperty(value = "实验类型")
    private java.lang.String entrustType;

    /**数据同步标识*/
    @ApiModelProperty(value = "数据同步标识")
    private java.lang.String synFlag;

    /**打印纸张方向*/
    @ApiModelProperty(value = "打印纸张方向")
    private java.lang.String printMark;

    /**报告标识 （1标识使用当前记录作为实验报告结果数据）*/
    @ApiModelProperty(value = "报告标识")
    private java.lang.String reportMark;

    /**标准类型：中文；数字*/
    private String normType;

    /**样品使用量*/
    private String samUsed;
    /**验证码*/
    @ApiModelProperty(value = "验证码")
    private java.lang.String codes;
    /**签名状态（待同步签名，已同步签名）*/
    @ApiModelProperty(value = "签名状态（待同步签名，已同步签名,同步签名失败）")
    private java.lang.String signatureStatus;

    /**项目指标名称*/
    @Excel(name = "项目指标名称", width = 15)
    @ApiModelProperty(value = "项目指标名称")
    private String itemsBasisName;

    @ApiModelProperty(value = "项目pdf路径")
    private String itemPdfUrl;
}
